import { ViteDevServer } from 'vite';
import { HubLModule, HubLTemplate } from '../api/designmanager.js';
import { ProjectData } from '../api/project.js';
export declare enum ModuleType {
    REACT = "react",
    HUBL = "hubl"
}
export interface ModuleData {
    name: string;
    type: ModuleType;
    nameWithExtension?: string;
    subPath?: string;
    extension?: string;
    fieldsJson?: any;
}
export interface PartialData {
    name: string;
    subPath: string;
}
export interface TemplateData {
    name: string;
    subPath: string;
    templateTypeLabel: string;
}
export interface DevServerUIData {
    authedPortalId: number;
    projectName: string;
    modulesData: ModuleData[];
    hubLModules: ModuleData[];
    partialsData: PartialData[];
    hubLTemplates: TemplateData[];
    themeWebRoot: string;
    cliCommands: {
        scriptName: string;
        description: string;
        runCommand: string;
    }[];
    sslEnabled: boolean;
    projectData: ProjectData | null;
    fieldBuilderEnabled: boolean;
    [key: string]: any;
}
export interface AppLocals {
    themeWebRoot: string;
    authedPortalId: number;
    authedEnv: string;
    authedHublet: string;
    projectName: string;
    webRootProjectComponentFolder: string;
    localPreviewToken: string;
    sslEnabled: boolean;
    fieldBuilderEnabled: boolean;
    appWebRoot: string;
    appViteServer: ViteDevServer;
}
export declare const templateTypeMap: Record<number, string>;
export declare function normalizeHubLModules(modules: HubLModule[], projectName: string): ModuleData[];
export declare function normalizeTemplatesData(templates: HubLTemplate[], projectName: string): TemplateData[];
export declare function getDevServerUIData(appLocals: AppLocals): Promise<DevServerUIData>;
export default getDevServerUIData;
